@isTest
private class TestGeneralUtilWCM {

    static testMethod void myUnitTest() {
        // TO DO: implement unit test
        /****Accessing RecordTypeInfo****/
    	String programRecordType = Schema.Sobjecttype.Program__c.getRecordTypeInfosByName().get('West - Program').getRecordTypeId();
    	
    	/****Creating Program****/
    	Program__c programName = new Program__C(name='Test Bachelor of Science in Accounting', RecordTypeId=programRecordType );
    	insert programName;
    	
    	GeneralUtilWCM.getCaseEditCloseAbilityStatus(programName.id);
    	GeneralUtilWCM.Warning('This is a test message');
    	GeneralUtilWCM.ErrorMessage('This is a test message');
    	GeneralUtilWCM.getRecordType();
    	GeneralUtilWCM.getUserProfileName();
    	Task objTask = GeneralUtilWCM.gettask();
    	Set<ID> setTestIds = GeneralUtilWCM.getNotADAODMQueueIdsList();
    	Set<ID> setTestNotIds = GeneralUtilWCM.getQueueIdNotADAorODM();
    	
    	
    }
    
 	static testMethod void myUnitTestLead() {
 		Test.startTest();
        Campus__c cmps = new Campus__c(Name = 'Unit Test', Active__c = True);
        cmps.recordTypeId = Schema.sObjectType.Campus__c.getRecordTypeInfosByName().get('West - Campus').getRecordTypeId();
        insert cmps;
        
        Program__c prgm = new Program__c(Name = 'Unit Test', Active__c = True);
        prgm.recordTypeId = Schema.sObjectType.Program__c.getRecordTypeInfosByName().get('West - Program').getRecordTypeId();
        insert prgm;
        
        Catalog__c ctlg = new Catalog__c(Catalog_Name__c = 'Unit Test', 
                                            Active__c = True, Campus__c = cmps.Id, Program__c = prgm.Id);
        ctlg.X3_Payments__c = true;
        ctlg.X4_Payments__c = true;
        ctlg.X5_Payments__c = true;
        ctlg.X10_Payments__c = true;
        ctlg.X11_Payments__c = true;
        ctlg.X12_Payments__c = true;
        ctlg.Early_Payoff__c = true;
        ctlg.recordTypeId = Schema.sObjectType.Catalog__c.getRecordTypeInfosByName().get('West').getRecordTypeId();
        insert ctlg;
        
        Lead ld = new Lead();
        ld.Web_to_Lead__c = 'WebRFI';
        ld.LastName = 'Test';
        ld.FirstName = 'Unit';
        ld.Phone = '1234567890';
        ld.Email = 'unit@test.method';
        ld.Home_Phone__c = '1234567890';
        ld.Campus__c = cmps.Id;
        ld.Program__c = prgm.Id;
        ld.Catalog__c = ctlg.Id;
        ld.Country = 'United States';
        ld.recordTypeId = Schema.sObjectType.Lead.getRecordTypeInfosByName().get('West - Prospective Student').getRecordTypeId();
        insert ld;
        
        GeneralUtilWCM.getNewCaseFromLeadPageLayoutURL(ld.id);

        Test.stopTest();
 	}
 	   
}